1. Technical Field
The present invention generally relates to articles of manufacture and, more particularly, to a method and apparatus for manufacturing objects having response characteristics which are optimized for a desired application or use.
2. Description of Related Art
An object composed of one or more materials, which is engineered and manufactured for an intended application, must be able to withstand the stresses exerted on the object during use in the application. For example, a bridge, carrying a pathway or roadway over a depression or obstacle such as a body of water, must be designed to withstand the stresses created by traffic (either pedestrian or vehicle or both), temperature variations, wind, shifts in the surface of the earth which may be caused by earthquakes or other geological movements, etc. Similarly, aircraft components must have sufficient strength to withstand bending, sheer, torsion, and other forces placed on it. Accordingly, in a conventional engineering process, a stress analysis is performed. The stress analysis requires a determination of the forces (or “stress-field”) which will be applied, to the object during use in the application. These stresses include, for example, thermal, mechanical, and electromagnetic forces. Knowing the stress-field enables a determination of whether a trial design and the selected material(s) are appropriate to withstand the stresses created during use of the object for its intended application. If a specific combination of design and material(s) is not suitable for an intended application, the object may be redesigned and/or new material(s) may be selected.
The above-described conventional engineering process will be discussed in greater detail with respect to FIG. 1. The initial design geometry of the object and the material(s) of which the object is to be composed are defined at step 11. Geometry includes dimensions, tolerances, surface finish, definitions of surfaces and edges, and, in some cases, the fit between two mating parts. The initial design geometry may be created using computer-aided-design (CAD) techniques known in the art. Each force which will be applied to the object during intended use, and the points and direction of application of the respective forces, are identified at step 12.
Stress analysis is performed at step 13. One technique for carrying out such a stress analysis is to create a finite-element model of the object and utilize the finite element method to determine the suitability of the object for the intended application. The finite element method is a numerical analysis technique for obtaining approximate solutions to a wide variety of engineering problems in which a complex part or object is subdivided into the analyses of small simple subdivisions of the part or object. This method has been widely discussed and reference will be made in what follows to a discussion from Huebner et al, The Finite Element Method for Engineers, Third Edition, John Wiley and Sons, Inc. (1995). In a continuum problem, a field variable such as pressure, temperature, displacement, or stress has infinitely many values because it is a function of each point in the body. The finite element method reduces the problem to one of a finite number of unknowns by dividing the solution region into elements and by expressing the unknown field variable in terms of assumed approximating functions within each element. The approximating functions are defined in terms of the values of the field variables at specified points called nodes. Nodes usually lie on the element boundaries where adjacent elements are connected. For the finite element representation of a problem, the nodal values of the field variable become the unknowns. Once these unknowns are found, the approximating functions define the field variable throughout the assembled elements. An important feature of the finite element method is the ability to formulate solutions for individual elements before putting them together to represent the entire problem. This means that the characteristics of each individual element may be found and then the elements may be assembled to find the characteristics of the whole structure. The finite element method may be summarized by the following steps.
First, the continuum is discretized into elements. A variety of element shapes may be used and different element shapes may be employed in the same solution region. The number and type of elements in a given problem are generally matters of engineering judgment. For example, three-dimensional elements work best if they are either tetrahedral or hexahedral in shape. In addition, the most accurate elements have a unity aspect ratio. The next step is to assign nodes to each element and then choose the interpolation function to represent the variation of the field variable over the element. Once the finite element model has been established, the matrix equations expressing the properties of the individual elements may be determined. Several different approaches including a direct approach, a variational approach, or a weighted residual approach may be used. The element properties are then assembled to obtain the system equations. That is, the matrix equations expressing the behavior of the elements are combined to form the matrix equations expressing the behavior of the entire system. At this point, the system equations are modified to account for any boundary conditions of the problem. That is, known nodal values of the dependent variables or nodal loads are imposed. The resulting system of equations may then be solved to obtain the unknown nodal values of the problem. The solution of equations may be used to calculate other important parameters. For example, in a structural problem, the nodal unknowns are displacement components. From these displacements, the element strains and stresses may be calculated.
An example of the finite element method from the Huebner text will be discussed as an aid in understanding the terminology to be used in this specification. FIG. 2 illustrates a linear spring system. For a typical spring element, the relations expressing its stiffness are
            [                                                  k              11                                                          -                              k                12                                                                                        -                              k                21                                                                        k              22                                          ]        ⁢          {                                                  δ              1                                                                          δ              2                                          }        =      {                                        F            1                                                            F            2                                }  where k11=k12=k21=k22=k.
Under a given loading condition, each element as well as the system of elements, must be in equilibrium. If this equilibrium condition is imposed at a particular node i,ΣFi(e)=Fi(1)+Fi(2)+Fi(3)+ . . . =Ri  (1)which states that the sum of all the nodal forces in one direction at node i equals the resultant external load applied at node i. In accordance with conventional tensor notation, each coefficient in a stiffness matrix is assigned a double subscript, e.g., ij; the number i is the subscript designating the force Fi produced by a unit value of the displacement whose subscript is j. The force Fi is that which exists when δj=1 and all the other displacements are fixed. A displacement and a resultant force in the direction of the displacement carry the same subscript. Thus, evaluating equation (1) at each node in the linear spring system of FIG. 2, it can be shown that    at node 1,k11(1)δ1+k12(1)δ2=R1     at node 2,k21(1)δ1+(k22(1)+k22(2)+k22(3))δ2+(k23(2)+k23(3))δ3=0    at node 3,(k32(2)+k32(3))δ2+(k33(2)+k33(3)+k33(4))δ3+k34(4)δ4=0    and at node 4k43(4)δ3+k44(4)δ4=F Using matrix notation, these system equilibrium equations can be written as
            [                                                  k              11                              (                1                )                                                                        k              12                              (                1                )                                                          0                                0                                                              k              21                              (                1                )                                                                        (                                                k                  22                                      (                    1                    )                                                  +                                  k                  22                                      (                    2                    )                                                  +                                  k                  22                                      (                    3                    )                                                              )                                                          (                                                k                  23                                      (                    2                    )                                                  +                                  k                  23                                      (                    3                    )                                                              )                                            0                                                0                                              (                                                k                  32                                      (                    2                    )                                                  +                                  k                  32                                      (                    3                    )                                                              )                                                          (                                                k                  33                                      (                    2                    )                                                  +                                  k                  33                                      (                    3                    )                                                  +                                  k                  33                                      (                    4                    )                                                              )                                                          k              34                              (                4                )                                                                          0                                0                                              k              43                              (                4                )                                                                        k              44                              (                4                )                                                        ]        ⁢          {                                                  δ              1                                                                          δ              2                                                                          δ              3                                                                          δ              4                                          }        =      {                            ·                                      l                                      0                                      F                    or[k]{δ}={F}.  (2)
These equations are the assembled force displacement characteristics for the complete system and [k] is the assembled stiffness matrix. These equations cannot be solved for the nodal displacements until they have been modified to account for the boundary conditions.
It can be seen that the stiffness matrix [k] is the sum of the following matrices, each matrix representing from a corresponding one of the elements:
                                          [                          K              _                        ]                                (            1            )                          =                  [                                                                      k                  11                                      (                    1                    )                                                                                                k                  12                                      (                    1                    )                                                                              0                                            0                                                                                      k                  21                                      (                    1                    )                                                                                                k                  22                                      (                    1                    )                                                                              0                                            0                                                                    0                                            0                                            0                                            0                                                                    0                                            0                                            0                                            0                                              ]                                                                                                                  [                          K              _                        ]                                (            2            )                          =                  [                                                    0                                            0                                            0                                            0                                                                    0                                                              k                  22                                      (                    2                    )                                                                                                k                  23                                      (                    2                    )                                                                              0                                                                    0                                                              k                  32                                      (                    2                    )                                                                                                k                  33                                      (                    2                    )                                                                              0                                                                    0                                            0                                            0                                            0                                              ]                                                              [                          K              _                        ]                                (            3            )                          =                  [                                                    0                                            0                                            0                                            0                                                                    0                                                              k                  22                                      (                    3                    )                                                                                                k                  23                                      (                    3                    )                                                                              0                                                                    0                                                              k                  32                                      (                    3                    )                                                                                                k                  33                                      (                    3                    )                                                                              0                                                                    0                                            0                                            0                                            0                                              ]                                                                                                                  [                          K              _                        ]                                (            4            )                          =                  [                                                    0                                            0                                            0                                            0                                                                    0                                            0                                            0                                            0                                                                    0                                            0                                                              k                  33                                      (                    4                    )                                                                                                k                  34                                      (                    4                    )                                                                                                      0                                            0                                                              k                  43                                      (                    4                    )                                                                                                k                  44                                      (                    4                    )                                                                                ]                    Thus, it can be seen that the assembled or global stiffness matrix can be obtained simply by adding the contribution of each element. Similarly, using boolean locating functions or other locating functions, the contribution of each element may be destined from the assembled or global stiffness matrix.
Thus, to perform stress analysis, the material(s) of which the object is composed as determined by the initial design, the forces which are applied to the object as identified at step 12, and any constraints or boundary conditions are input into the finite element model. Since the forces {f} and the material property matrix [k] are known, the finite element method is used to determine the corresponding displacements {δ} using equation (2). For example, assume the forces determined at step 12 are loads applied to the object. Then, since the material property matrix is determined by the initial choice of material(s), the displacement resulting from application of the loads may be determined. As noted above, these displacements may then be used to calculate the stresses and strains. The calculations for solving the matrix equations generated by the finite element method are generally performed using a suitable finite element software package.
Post-processing, indicated at step 14, is carried out to determine if the design will perform satisfactorily. Such post-processing may include, for example, a comparison of the stresses in the material to the maximum allowable stresses dictated by the material used. If the stresses are too high, the process returns to step 11 where the part may be made stronger by adding material, the material may be changed to one with higher allowable stress, or a new design geometry may be utilized. If the post-processing at step 14 indicates the results are acceptable, the process proceeds to step 15 where the object is manufactured in accordance with the design geometry and the choice of material(s) determined at step 11.
A known problem with the conventional manufacturing technique described above is that it uses known materials and preset manufacturing parameters, thereby creating a structure with fixed intrinsic (constitutive) properties. This results in over designing and inefficiency of the structure. While manufacturing processes exist that enable the adjustment of manufacturing parameters, no method exists of precisely determining what the manufacturing parameters should be or the sequence in which they should be implemented so as to optimize the constitutive properties of a particular object design. In essence, no method exists for determining an optimized constitutive matrix for a particular object or for manufacturing the object in accordance with this optimized constitutive matrix.